Allocator sizeof operand mismatch (src/backend/regex/regcomp.c)

  • Jump to comment-1
    ranier.vf@gmail.com2022-08-06T12:12:53+00:00
    Hi, About the error: Result of 'malloc' is converted to a pointer of type 'char', which is incompatible with sizeof operand type 'struct guts' The patch attached tries to fix this. regards, Ranier Vilela
    • Jump to comment-1
      zmlpostgres@gmail.com2022-08-06T14:05:41+00:00
      I think it’s ok, re_guts is converted when  used (struct guts *) re->re_guts; And there is comments in regex.h char *re_guts; /* `char *' is more portable than `void *' */ Regards, Zhang Mingli On Aug 6, 2022, 20:13 +0800, Ranier Vilela <ranier.vf@gmail.com>, wrote: > Hi, > > About the error: > Result of 'malloc' is converted to a pointer of type 'char', which is incompatible with sizeof operand type 'struct guts' > > The patch attached tries to fix this. > > regards, > Ranier Vilela
      • Jump to comment-1
        tgl@sss.pgh.pa.us2022-08-06T14:47:25+00:00
        Zhang Mingli <zmlpostgres@gmail.com> writes: > I think it’s ok, re_guts is converted when  used > (struct guts *) re->re_guts; > And there is comments in regex.h > char *re_guts; /* `char *' is more portable than `void *' */ Boy, that comment is showing its age isn't it? If we were to do anything about this, I'd be more inclined to change re_guts to void*. But, never having seen any compiler warnings about this code, I don't feel a strong need to do something. regards, tom lane
        • Jump to comment-1
          zmlpostgres@gmail.com2022-08-06T15:02:53+00:00
          On Aug 6, 2022, 22:47 +0800, Tom Lane <tgl@sss.pgh.pa.us>, wrote: > Zhang Mingli <zmlpostgres@gmail.com> writes: > > I think it’s ok, re_guts is converted when  used > > (struct guts *) re->re_guts; > > And there is comments in regex.h > > char *re_guts; /* `char *' is more portable than `void *' */ > > Boy, that comment is showing its age isn't it? If we were to do > anything about this, I'd be more inclined to change re_guts to void*. Got it , thanks.